package com.writing.service;

import com.writing.entity.ApiConfig;
import java.util.List;

/**
 * API配置服务接口
 */
public interface ApiConfigService {

    /**
     * 根据用户ID获取所有API配置
     */
    List<ApiConfig> getConfigsByUserId(Long userId);

    /**
     * 获取所有API配置
     */
    List<ApiConfig> getAllConfigs();

    /**
     * 获取所有启用的API配置（公共配置）
     */
    List<ApiConfig> getEnabledConfigs();

    /**
     * 根据ID获取API配置
     */
    ApiConfig getConfigById(Long id);

    /**
     * 创建API配置
     */
    ApiConfig createConfig(ApiConfig apiConfig);

    /**
     * 更新API配置
     */
    ApiConfig updateConfig(ApiConfig apiConfig);

    /**
     * 删除API配置
     */
    void deleteConfig(Long id);

    /**
     * 复制配置
     */
    ApiConfig duplicateConfig(Long configId);

    /**
     * 测试API配置连接
     */
    boolean testConnection(ApiConfig config);
}
